1. Field of the Invention
The present invention relates to a data distribution method and apparatus, and a storage medium and, more particularly, to a method of controlling distribution of real-time data such as image or audio data using a network, and a storage medium therefor.
2. Description of the Related Art
The present assignee has proposed a technique of connecting a camera server and a camera client on a network, transferring input live image data (sometimes including audio data) to the camera client which has connected to the camera server, and displaying the data (and outputting audio data) while freely controlling the camera angle.
When real-time image or audio data is to be distributed using a network, the receiving side adjusts the reproduction timing or discards unnecessary data blocks while evaluating the delay time and variations in delay time. Such time lag often occurs due to an overload on transmitting/receiving nodes or relay nodes, or the network which connects them. This tendency is especially conspicuous in a wide area network where network traffic rapidly charges, and generally, a sufficient bandwidth cannot always be ensured.
To efficiently distribute real-time image or audio data, the total traffic must be reduced to lessen the load of data distribution itself. To do this, the total traffic is reduced using broadcasting or multicasting, or corrupted data or unnecessary data due to a large delay is discarded. In real-time data distribution, it is most effective to select, as a distribution route from the transmitting node to the receiving node, entities meeting the requirement most.
Generally, in a conventional network service, the route from the transmitting node to the receiving node is selected by a relatively low-level routing means. In the Internet which is prevalent in recent years, TCP/IP is used as a network protocol. The route control means is based on a route control protocol such as RIP or BGP and a multicast group control protocol called IGMP. According to these means, when the transmitting node designates a receiving node for transmission, data is relayed through a gateway or router as needed. Physical packet transfer destinations between nodes are individually determined on the basis of given routing information, and finally, communication between arbitrary nodes is realized.
However, the low-level route selection means has the following problems.
Even when there are a plurality of routes from the transmitting node to the receiving node, it is not necessarily easy to select an optimum route in accordance with the purpose of service. The route selection mechanism itself is assisted as, e.g., source routing. In this case, however, the transit points to the receiving node must be listed on the transmitting node side. In a complex network, it is generally difficult for the transmitting node to grasp information of the entire route to the receiving node. In addition, flexibility of distribution control using relay nodes lowers. However, if source routing is not used, the distribution route is solely determined by the route control means, so selection of a route optimum for the service is not always guaranteed. Actually, many route control/information interpreting means select a route in which the number of effective relay nodes is minimum. However, it is obvious that such a means does not give an optimum route for real-time data distribution because it causes traffic congestion.
A more self-explanatory problem is that multicast distribution cannot always be used. The multicast function is prominent now, and many network devices are equipped with it. However, there still are a lot of incompatible devices, and only a few have a complete multicast function. Additionally, since multicast distribution requires resource assignment in relay nodes on a wide area of the network, establishment of a dynamic multicast distribution route is generally not warranted, as described above. In this case, as an alternative means, data distribution based on unicast is performed. This means cannot reduce the distribution load to result in a serious problem.